from dataclasses import dataclass, field
from collections import defaultdict
#在 Python 的 dataclasses 模块中，field() 是一个函数，
#用于为 @dataclass 类中的字段提供更多的控制。它允许你设置字段的默认值、默认工厂函数、元数据等。

@dataclass
class Example:
    name: str
    age: int = field(default=18)  # 设置默认值
    tags: list = field(default_factory=list)  # 使用工厂函数生成默认值
    configs: dict = field(default_factory=lambda: defaultdict(bool))  # 使用 lambda 包装工厂函数
    hidden: bool = field(default=False, repr=False)  # 不在 __repr__ 中显示

obj = Example(name="张三")
print(obj)  # 输出：Example(name='张三', age=18, tags=[])
print(obj.configs['feature_x'])  # 访问不存在的键，输出 False